package ccnu.agile.constant;

/**
 * 系统变量常量接口
 */
public interface System {


    /**
     * Logback MDC ： LRU
     */
    interface MDC {
        String TRANSACTION_ID = "transactionId";
    }

    /**
     * 日志打印级别
     */
    interface LogLevel {

        String ERROR = "error";

        String INTER = "interface";
    }

    /**
     * 请求参数打印策略
     */
    interface RequstLogStrategy {

        String GET = "GetRequestLogStrategy";

        String POST = "PostRequestLogStrategy";
    }

    /**
     * 请求参数获取策略
     */
    interface FetchParamStrategy {

        String GET = "fetchGetParamStrategy";

        String POST = "fetchPostParamStrategy";
    }

    /**
     * rest请求参数获取策略
     */
    interface RestRequestStrategy {

        String GET = "getRestRequestStrategy";

        String POST = "postRestRequestStrategy";
    }

    /**
     * 系统用参数
     */
    interface RequestParam {

        String TOKEN = "token";

        String PROJECT_ID = "projectId";

        String USER_ID = "userId";
    }

    interface Error {

        String PREFIX = "capd-";
        String INSIDE = "1";
        String OUTSIDE = "0";
    }

    interface RedisKey {

        String PREFIX = "capd:redis:";

        String KEY_STRING = PREFIX + "key-string:";

        String KEY_LIST = PREFIX + "key-list:";

        String KEY_MAP = PREFIX + "key-map:";

        String KEY_SET = PREFIX + "key-set:";
    }

    interface ApiBusinessName {

        String SPECIAL = "testBusiness";

        String GENERIC_DB_TABLE = "genericDbTableBusiness";
    }

    interface ParamCheck {

        String NULL_CHECK = "paramNullCheckStrategy";
    }

    interface Pattern {

        String Y_M_D = "yyyy-MM-dd";
        String Y_M_D_H_M_S = "yyyy-MM-dd HH:mm:ss";
        String YMDHMS = "yyyyMMddHHmmss";
    }

    interface VelocityBean {

        String ENTITY_TEMPLATE = "entityTemplate";

        String MAPPER_INTER_TEMPLATE = "mapperInterTemplate";

        String MAPPER_XML_TEMPLATE = "mapperXmlTemplate";
    }

    interface GenericCommandBean {

        String ENTITY = "entityGenericCommand";

        String MAPPER_INTER = "mapperInterGenericCommand";

        String MAPPER_XML = "mapperXmlGenericCommand";
    }

    interface VerifyCodeBean {

        String SMS = "smsVerifyCode";

        String EMS = "emsVerifyCode";
    }

    interface FileBusiness {

        String USER_FACE = "userface";
    }

}
